<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Hash;
use DB;
use Config;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class CarouselController extends Controller
{
    // 商品  添加页面
    public function getAdd()
    {
        // 显示模板
        return view('carousel.add');die;
    }

    // 商品数据的插入操作
    public function postInsert(Request $request){

        $this->validate($request, [
                'imgname' => 'required',
                'image' => 'required',
            ],[
                'imgname.required' => '轮播图名不能为空',
                'image.required' => '轮播图片不能为空',
            ]);

        // dd($request->all());
        // 拼接数据
        $data = $request->except(['_token']);
        $data['addtime'] = date("Y-m-d H:i:s",time());

        // 调用方法进行图片上传
        $res = self::upload($request,'image');
        $data['image'] = $res['image'];
        
        //执行数据插入
       
        $res = DB::table('carousel')->insert($data);
        if($res){
            return redirect('admin/carousel/index')->with('success','数据添加成功');
        }else{
            return back()->with('error','数据插入失败');
        }
    }
    // 分类首页
    public function getIndex(Request $request)
    {
        // 读取数据 并且分页
        $carousel=DB::table('carousel')
         ->where(function($query)use($request){
            $query->where('imgname','like','%'.$request->input('keywords').'%');
        })
        ->paginate($request->input('num',10));
        
        //解析模板
        return view('carousel.index',['carousel'=>$carousel,
            'request'=>$request->all()]);  
    }

    // 轮播图的数据删除
    // admin/carousel/delete  get
    public function getDelete($id){
        // 执行删除
        $res = DB::table('carousel')->where('id',$id)->delete();
        if($res){
            //成功 页面跳转到列表页
            return redirect('admin/carousel/index')->with('success','数据删除成功');
        }else{
            //失败 跳转到添加页
            return back()->with('error','数据删除失败');
        }
    }

    // 图片上传
    public static function upload(Request $request,$file)
    {
        // 图片上传
        if($request->hasFile($file)){
            // 获取文件上传的后缀名
            $houzhuim = $request->file($file)->getClientOriginalExtension();
            $fileName = md5(time().rand(1,20)).'.'.$houzhuim;
            $request->file($file)->move(Config::get('app.upload_dir'),$fileName);
            $data[$file] = trim(Config::get('app.upload_dir').$fileName,'.');
            return $data;
        }
    }
}

